package com.wordcount

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Cache {
  def main(args: Array[String]): Unit = {
    val conf=new SparkConf()
    conf.setMaster("local")
    conf.setAppName("cache_test")

    val sc=new SparkContext(conf)
    sc.setCheckpointDir("./checkpoint")
    var rdd=sc.textFile("./words.txt")

//    rdd.cache()//cache默认将rdd中的数据缓存在内存中，懒执行算子
//    rdd.persist(StorageLevel.MEMORY_ONLY)//MEMORY_ONLY只放内存，指定持久化级别
    rdd.checkpoint()


    rdd.collect()
//    val start=System.currentTimeMillis()
//    val count=rdd.count()
//    val end=System.currentTimeMillis()
//    println("count="+count+"time="+(end-start))
//
//    val s1=System.currentTimeMillis()
//
//    val c2=rdd.count()
//    val e1=System.currentTimeMillis()
//    println("count="+count+"time="+(e1-s1))
    sc.stop()
  }

}
